package com.yunyao.framework.service;

import com.yunyao.common.dto.UserDto;
import com.yunyao.common.dto.UserLoginDto;
import com.yunyao.common.web.util.PageResult;
import com.yunyao.common.web.util.YResult;
import com.yunyao.framework.dto.user.UserDeleteDto;
import com.yunyao.framework.dto.user.UserSaveDto;
import com.yunyao.framework.vo.user.UserDeptVO;
import com.yunyao.framework.vo.user.UserInfoVO;
import com.yunyao.framework.vo.user.UserVO;

/**
 * @author xingjishuai
 * @date 2024-07-16
 */
public interface UserService {
    /**
     * 验证用户名密码
     * @return
     */
    UserVO checkPassword(UserLoginDto userDto, String md5Password);

    UserVO getUserInfo(String userId);

    YResult<PageResult<UserDeptVO>> getDeptList(UserDto userDto);

    YResult<PageResult<UserDeptVO>> pageList(UserDto userDto);

    YResult<UserInfoVO> getByIdInfo(UserDto userDto);

    YResult<String> deleteById(UserDeleteDto userDeleteDto);

    YResult<String> save(UserSaveDto userSaveDto);

    YResult<String> passwordReset();

    YResult<String> syncMdm(UserDto userDto);

    YResult<String> passwordDefault();
}
